<?php
  /** Sortie massive des joueurs 
   * @author Sebastian Mosser
   */
   
class fMemberJerk extends aFeature {
   public function __construct() {
      $this->_acl = new AccessControlList();
      $this->_acl->setGranted(3); $this->_acl->setGranted(7);
   }

   public static function getTocEntry() {
      return "Sortie Groupée";
   }

   public static function getRealName() {
		return "Sortie Groupée";
	}
	
	public static function getSemantic() {
		$res  = "Cette fonctionalité affiche la liste de tous les joueurs et permet de sortir un grand nombre de joueurs d'un seul coup.";
		return $res;
	}

   
   protected function run() {
   	 $action = PropRetriever::getProp($_POST,"action");
   	 $letter = PropRetriever::getProp($_GET,"letter");
   	 
   	 if ($action == "jerkThemAll")
   	 	 return $this->jerk();
   	 else
			 return $this->displayForm(($letter == "" ? "A" : $letter));
   }
   
   private function jerk() {
   	$toJerk = PropRetriever::getArray($_POST,"memberId");
   	
   	$howMany = count($toJerk);
   	if ($howMany == 0) {
   		$value = "<div align=\"center\">";
   		$value .= "<p> <span class=\"error\"> Aucun adhérent n'a été selectionné";
   		$value .= "</span> </p> </div>";
   	}
   	else {
   		//var_dump($toJerk);
   		$value = "<h2> Liste des joueurs sortis </h2>";
   		$value .= "<p> Ce tableau contient tous les joueurs que vous venez de sortir pour la saison en cours </p>";
   		$value .= "<div align=\"center\">";
   		$value .= "<table class=\"resultset\" >";
   		$value .= "<tr> <th> Licence </th> <th> Nom </th> <th> Date de Naissance </th> </tr>";
   		foreach($toJerk as $k => $v) {
   			$aMember = Member::read($k);
   			$aMember->addFunction(Login::seasonChoosen(False),ClubFunction::$OUT);
   			$aMember->update();
   			$value .= "<tr>" . $aMember->displayInLine() . "</tr>";
   		}
   		$value .= "</table> </div>";
   	}
   	
   	$page = <<<EOT
<h1> Sortie massive d'adhérents </h1>
<h2> Retour a la selection </h2>
<div align="center">
<form method="post">
<br />
<input type="submit" value= "Retour" class="edit" />
<br />
</form>
</div>
${value}
EOT;
	 return $page;
   }
   private function displayForm($letter) {
   	 
   	 $alphabeticList = "";
   	 $letters = strtoupper("abcdefghijklmnopqrstuvwxyz");
   	 for ($i = 0; $i < strlen($letters); $i++) {
   	 	 $l = $letters[$i]; 
   	 	 $alphabeticList .= "&nbsp; <a href=\"?letter=$l\">$l</a> &nbsp;";
   	 }

		 $filter = array("lastName" => $letter);
		 $result = Member::lookFor($filter);
		 
		 $visiblePlayers = "";
		 while (($row = Database::assoc($result)) != False) {
		   $aMember = Member::read($row["id"]);
		   if ($aMember->getFunction(Login::seasonChoosen(False)) == 
		   			ClubFunction::$PLAYER)
		   	 $visiblePlayers .= "<tr> " . $aMember->displayCheckBox() ."</tr>\n";
		 }

		 if ($visiblePlayers == "")
		 	$visiblePlayers = "<span class=\"error\"> Aucune correspondance trouvée ! </span>";
		 else {
		 	 $head = "<table class=\"resultset\">";
		 	 $head .= "<tr> <th> Licence </th> <th> Nom </th> <th> Date de Naissance </th> <th> Sortir ? </th> </tr>";
		 	 $head .= $visiblePlayers;
		 	 $head .= "</table>";
		 	 $head .= "<input type=\"hidden\" name=\"action\" value=\"jerkThemAll\" />";
		 	 $head .= "<br />";
		 	 $head .= "<input type=\"submit\" value=\"Sortir\" class=\"edit\""; 
       $head .= "onclick=\"return confirm('Attention, êtes vous sur ce ce que vous faites ?')\"/>";
		 	 $visiblePlayers = $head;
		 }
		 
   	 $page = <<<EOS
		<h1> Sortie Massive de Joueurs </h1>

<h2> Utilisation </h2>
<p> Vous trouvez dans la liste ci dessous la liste des joueurs inscrits dans le système Balloon. </p>

<p>Selectionnez les joueurs a sortir en cliquant sur la case, puis cliquez sur <span class="error"> [ Sortir ]</span> en bas de la page pour <strong> sortir</strong> tous les joueurs selectionnés pour la saison en cours. 

<h2> Afficher les joueurs dont le nom commence par ... </h2>
<div align="center">
${alphabeticList}
</div>
<br />
<h2> Liste des joueurs disponibles pour la lettre [ $letter ]</h2>
<div align="center" />
<form method="post" accept-charset="utf-8" >
${visiblePlayers}
</form>
</div>

EOS;

		 return $page;
   }
   
 }

?>